.webview-wrap {
  flex: 1;
  position: relative;

  webview {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }

  .webview-loading-spinner {
    position: absolute;
    right: 17px;
    top: 17px;
    opacity: 0;
    transition: opacity 200ms ease-in-out;
    transition-delay: 200ms;
    &.loading-true {
      opacity: 1;
    }
  }

  .webview-cover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #f3f3f3;
    opacity: 1;
    transition: opacity 200ms ease-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    .message {
      color: #444;
      opacity: 0;
      margin-top: 20px;
      transition: opacity 200ms ease-out;
    }
    .try-again {
      opacity: 0;
      transition: opacity 200ms ease-out;
    }
  }
  .webview-cover.slow,
  .webview-cover.error {
    .message {
      opacity: 1;
      max-width: 400px;
    }
  }
  .webview-cover.error {
    .spinner {
      visibility: hidden;
    }
    .try-again {
      opacity: 1;
    }
  }
  .webview-cover.ready {
    pointer-events: none;
    opacity: 0;
  }
}
